//
// Created by wkm on 2024-04-01.
//

#ifndef AES128CHIPSYSTEMC_X2TIME_H
#define AES128CHIPSYSTEMC_X2TIME_H

#include "../core_module/CONSTANT.h"

SC_MODULE(x2time) {
    sc_in<bool> reset, start, clk;
    sc_in<sc_uint<DATA_SIZE>> input_data, compute_times;

    sc_out<sc_uint<DATA_SIZE>> result;
    sc_out<exe_state> done;

    sc_uint<DATA_SIZE> next_result, times, next_times;
    exe_state next_done;

    void prc_x2time();

    SC_CTOR(x2time) {
        SC_METHOD(prc_x2time);
        sensitive << clk.pos();
    }
};

#endif //AES128CHIPSYSTEMC_X2TIME_H
